/**
 * @param {number[][]} mat
 * @param {number} r
 * @param {number} c
 * @return {number[][]}
 */

var matrixReshape = function (mat, r, c) {
    // 初始矩阵的行
    let lenR = mat.length
    // 初始矩阵的列
    let lenL = mat[0].length
    // 如果不满足要求 输出原始矩阵
    if (lenR * lenL !== r * c) {
        return mat
    }
    // 否则输出新矩阵
    else {
        // 初始化新矩阵
        let row = 0
        let col = 0
        let matrix = new Array(r)
        for (let i = 0; i < r; i++) {
            matrix[i] = new Array(c)
        }
        // 将原始矩阵的值 填入 新矩阵
        for (let i = 0; i < lenR; i++) {
            for (let j = 0; j < lenL; j++) {
                if (col < c) {
                    matrix[row][col] = mat[i][j]
                    col++
                }
                if (col === c) {
                    // 下一行开始
                    row++
                    col = 0
                }
            }
        }
        return matrix
    }
};